package com.chinaedu.oc.po.commodity;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import com.chinaedu.oc.po.auditrecord.Auditrecord;
import com.chinaedu.oc.po.saledate.Saledate;

/***********************************************************************
 * Module:  Commodity.java
 * Author:  Administrator
 * Purpose: Defines the Class Commodity
 ***********************************************************************/

/**
 * 商品
 *
 * @pdOid 4872e077-0db7-47be-b710-fc0820c827b3
 */
public class Commodity implements Serializable{
	/**
	 * 商品id
	 *
	 * @pdOid cabc9678-ab80-49cc-938e-a7f1884e1fcb
	 */
	private String id;
	/**
	 * 商品编码
	 *
	 * @pdOid e8c4d4c1-91e4-47ba-bdd6-6c67d9c6c558
	 */
	private String commodityCode;
	/**
	 * 商品名字
	 *
	 * @pdOid e8a3031a-0acd-47c5-9881-085aa08ba471
	 */
	private String commodityName;
	/**
	 * 业务类型
	 *
	 * @pdOid 5c6f58eb-4ac0-4ed1-9a01-9cdf931dfcee
	 */
	private String businessType;
	/**
	 * 商品总原价(以分做单位)
	 *
	 * @pdOid 0b37676b-8a4e-4ad0-9479-73b77f0711e1
	 */
	private Integer originalPrice;
	/**
	 * 商品总现价(以分做单位)
	 *
	 * @pdOid 2eff12c2-089b-4103-97fb-281d7aef59f5
	 */
	private Integer currentPrice;
	/**
	 * 总折扣
	 *
	 * @pdOid 7c510345-0d0e-4555-ba58-0f7a4be590f6
	 */
	private Double discount;
	/**
	 * 审核状态
	 *
	 * @pdOid 8d7cce80-c54a-489e-9961-23179494bd5d
	 */
	private String auditStatus;
	/**
	 * 销售状态
	 */
	private String saleStatus;
	/**
	 * 商品分类
	 *
	 * @pdOid 2192ea81-7c7f-4dc6-b206-758bf4926e1d
	 */
	private String commoditySort;
	/**
	 * 是否上架
	 *
	 * @pdOid ef3654e0-dfd0-4e57-98a7-435df88471e9
	 */
	private Integer isGrounding;
	/**
	 * 录入日期
	 *
	 * @pdOid 3aefb40a-3d64-433f-8505-49aa3e0463a7
	 */
	private Timestamp createDate;
	/**
	 * 录入者ID
	 *
	 * @pdOid 3a03d54d-6b88-4447-8cb7-ec1a197dd2bb
	 */
	private String creatorId;
	/**
	 * 修改人
	 *
	 * @pdOid 7a35ad14-6302-4020-aa16-917990d69556
	 */
	private String modifyUser;
	
	/**
	 * 修改时间
	 */
	private Timestamp modifyDate;
	/**
	 * 是否可编辑
	 *
	 * @pdOid 758d91d7-db8c-4cb6-a48e-07aa7b9425a2
	 */
	private Integer isEdited;
	/**
	 * 是否赠送
	 *
	 * @pdOid 9f32e86f-ccb9-45ae-a36d-05b2064284c1
	 */
	private Integer isGive;

	/**
	 * 是否有销售期
	 *
	 * @pdOid b52ab3be-001a-43e9-a713-bc611d6ba7f0
	 */
	private Integer isHasSaledate;
	/**
	 * 是否为单品
	 *
	 * @pdOid 8b5ff20b-99d6-4a52-b8f1-eba2d6d4a659
	 */
	private String isSingleProduct;
	/**
	 * 是否提交审核
	 *
	 * @pdOid 216f7c86-485c-4a1f-b942-4c283eda7436
	 */
	private Integer isSubmitAudit;
	/**
	 * 是否定价
	 *
	 * @pdOid 0e9ed1e0-30d4-4b9e-ad34-666854b8a8db
	 */
	public Integer isPrice;

	/**
	 * 年级名
	 */
	private String gradeName;

	/**
	 * 学科名
	 */
	private String specialtyName;

	/**
	 * 产品线名
	 */
	private String productLineName;

	/**
	 * 学制名
	 */
	private String systemName;
	/**
	 * 判断前台请求 1:定价 2:编辑,新增
	 */
	private String type;

    /**
	 * 商品和地区
	 */
	private List<CommodityArea> commodityAreas;

	/**
	 * 商品和销售部门关联
	 */
	private List<CommoditySaledepartment> commoditySaledepartments;

	/**
	 * 商品和产品关联
	 */
	private List<CommodityProduct> commodityProducts;

	private CommodityProduct commodityProduct;

	/**
	 * 商品和学段关联
	 */
	private List<CommodityLevel> commodityLevels;

	/**
	 * 商品和学科关联
	 */
	private List<CommoditySpecialty> commoditySpecialty;

	/**
	 * 商品和年级关联
	 */
	private List<CommodityGrade> commodityGrade;

	/**
	 * 商品和用户类型关联
	 */
	private List<CommodityUserType> commodityUserType;

	/**
	 * 商品和学制关联
	 */
	private List<CommodityEducational> commodityEducational;

	/**
	 * 商品和商品关联
	 */
	private List<CommodityRelationship> commodityRelationship;

	private List<Commodity> commoditys;

	/**
	 * 商品的销售日期列表
	 */
	private List<Saledate> saledates;

	/*
	 *	商品的当前销售日期及其描述
	 */
	private Saledate saledate;

	//商品和商品审核记录的关系
	private List<Auditrecord> auditrecords;
	
	private Auditrecord auditrecord;

	/**
	 * 	产品同步时根据该字段判断是增加或修改
	 */
	private Integer  insertOrUpdate;

	private List<String> ids = new ArrayList<String>();   //这个ID集合  有可能是用户ID集合   商品ID的集合

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getCommodityCode() {
		return commodityCode;
	}

	public void setCommodityCode(String commodityCode) {
		this.commodityCode = commodityCode;
	}

	public String getCommodityName() {
		return commodityName;
	}

	public void setCommodityName(String commodityName) {
		this.commodityName = commodityName;
	}

	public String getBusinessType() {
		return businessType;
	}

	public void setBusinessType(String businessType) {
		this.businessType = businessType;
	}

	public Integer getOriginalPrice() {
		return originalPrice;
	}

	public void setOriginalPrice(int originalPrice) {
		this.originalPrice = originalPrice;
	}

	public Integer getCurrentPrice() {
		return currentPrice;
	}

	public void setCurrentPrice(Integer currentPrice) {
		this.currentPrice = currentPrice;
	}

	public Double getDiscount() {
		return discount;
	}

	public void setDiscount(Double discount) {
		this.discount = discount;
	}

	public String getCommoditySort() {
		return commoditySort;
	}

	public void setCommoditySort(String commoditySort) {
		this.commoditySort = commoditySort;
	}

	public Integer getIsGrounding() {
		return isGrounding;
	}

	public void setIsGrounding(Integer isGrounding) {
		this.isGrounding = isGrounding;
	}

	public Timestamp getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Timestamp createDate) {
        this.createDate = createDate;
    }

    public String getCreatorId() {
		return creatorId;
	}

	public void setCreatorId(String creatorId) {
		this.creatorId = creatorId;
	}

	public String getModifyUser() {
		return modifyUser;
	}

	public void setModifyUser(String modifyUser) {
		this.modifyUser = modifyUser;
	}

	public Integer getIsEdited() {
		return isEdited;
	}

	public void setIsEdited(Integer isEdited) {
		this.isEdited = isEdited;
	}

	public Integer getIsGive() {
		return isGive;
	}

	public void setIsGive(Integer isGive) {
		this.isGive = isGive;
	}

	public void setOriginalPrice(Integer originalPrice) {
		this.originalPrice = originalPrice;
	}


	public Integer getIsHasSaledate() {
		return isHasSaledate;
	}

	public void setIsHasSaledate(Integer isHasSaledate) {
		this.isHasSaledate = isHasSaledate;
	}

	public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getIsSingleProduct() {
        return isSingleProduct;
    }

    public void setIsSingleProduct(String isSingleProduct) {
        this.isSingleProduct = isSingleProduct;
    }

    public Integer getIsSubmitAudit() {
		return isSubmitAudit;
	}

	public void setIsSubmitAudit(Integer isSubmitAudit) {
		this.isSubmitAudit = isSubmitAudit;
	}

	public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

	public Integer getIsPrice() {
		return isPrice;
	}

	public void setIsPrice(Integer isPrice) {
		this.isPrice = isPrice;
	}

	public String getGradeName() {
		return gradeName;
	}

	public void setGradeName(String gradeName) {
		this.gradeName = gradeName;
	}

	public String getSpecialtyName() {
		return specialtyName;
	}

	public void setSpecialtyName(String specialtyName) {
		this.specialtyName = specialtyName;
	}

	public String getSystemName() {
		return systemName;
	}

	public void setSystemName(String systemName) {
		this.systemName = systemName;
	}

	public String getProductLineName() {
		return productLineName;
	}

	public void setProductLineName(String productLineName) {
		this.productLineName = productLineName;
	}

	public List<CommodityArea> getCommodityAreas() {
		return commodityAreas;
	}

	public void setCommodityAreas(List<CommodityArea> commodityAreas) {
		this.commodityAreas = commodityAreas;
	}

	public List<CommoditySaledepartment> getCommoditySaledepartments() {
		return commoditySaledepartments;
	}

	public void setCommoditySaledepartments(List<CommoditySaledepartment> commoditySaledepartments) {
		this.commoditySaledepartments = commoditySaledepartments;
	}

	public List<CommodityProduct> getCommodityProducts() {
		return commodityProducts;
	}

	public void setCommodityProducts(List<CommodityProduct> commodityProducts) {
		this.commodityProducts = commodityProducts;
	}


	public CommodityProduct getCommodityProduct() {
		return commodityProduct;
	}

	public void setCommodityProduct(CommodityProduct commodityProduct) {
		this.commodityProduct = commodityProduct;
	}

	public List<CommodityLevel> getCommodityLevels() {
		return commodityLevels;
	}

	public void setCommodityLevels(List<CommodityLevel> commodityLevels) {
		this.commodityLevels = commodityLevels;
	}

	public List<CommoditySpecialty> getCommoditySpecialty() {
		return commoditySpecialty;
	}

	public void setCommoditySpecialty(List<CommoditySpecialty> commoditySpecialty) {
		this.commoditySpecialty = commoditySpecialty;
	}

	public List<CommodityGrade> getCommodityGrade() {
		return commodityGrade;
	}

	public void setCommodityGrade(List<CommodityGrade> commodityGrade) {
		this.commodityGrade = commodityGrade;
	}

	public List<CommodityUserType> getCommodityUserType() {
		return commodityUserType;
	}

	public void setCommodityUserType(List<CommodityUserType> commodityUserType) {
		this.commodityUserType = commodityUserType;
	}


	public List<CommodityEducational> getCommodityEducational() {
		return commodityEducational;
	}

	public void setCommodityEducational(List<CommodityEducational> commodityEducational) {
		this.commodityEducational = commodityEducational;
	}

	public List<CommodityRelationship> getCommodityRelationship() {
		return commodityRelationship;
	}

	public void setCommodityRelationship(List<CommodityRelationship> commodityRelationship) {
		this.commodityRelationship = commodityRelationship;
	}

	public List<Commodity> getCommoditys() {
		return commoditys;
	}

	public void setCommoditys(List<Commodity> commoditys) {
		this.commoditys = commoditys;
	}

	public String getSaleStatus() {
        return saleStatus;
    }

    public void setSaleStatus(String saleStatus) {
        this.saleStatus = saleStatus;
    }

	public List<String> getIds() {
		return ids;
	}

	public void setIds(List<String> ids) {
		this.ids = ids;
	}

	public Integer getInsertOrUpdate() {
		return insertOrUpdate;
	}

	public void setInsertOrUpdate(Integer insertOrUpdate) {
		this.insertOrUpdate = insertOrUpdate;
	}


	public List<Saledate> getSaledates() {
		return saledates;
	}

	public void setSaledates(List<Saledate> saledates) {
		this.saledates = saledates;
	}


	public Saledate getSaledate() {
		return saledate;
	}

	public void setSaledate(Saledate saledate) {
		this.saledate = saledate;
	}

	public List<Auditrecord> getAuditrecords() {
		return auditrecords;
	}

	public void setAuditrecords(List<Auditrecord> auditrecords) {
		this.auditrecords = auditrecords;
	}

	public Auditrecord getAuditrecord() {
		return auditrecord;
	}

	public void setAuditrecord(Auditrecord auditrecord) {
		this.auditrecord = auditrecord;
	}

	public Timestamp getModifyDate() {
		return modifyDate;
	}

	public void setModifyDate(Timestamp modifyDate) {
		this.modifyDate = modifyDate;
	}

	@Override
	public String toString() {
		return "Commodity [id=" + id + ", commodityCode=" + commodityCode + ", commodityName=" + commodityName
				+ ", businessType=" + businessType + ", originalPrice=" + originalPrice + ", currentPrice="
				+ currentPrice + ", discount=" + discount + ", auditStatus=" + auditStatus + ", saleStatus="
				+ saleStatus + ", commoditySort=" + commoditySort + ", isGrounding=" + isGrounding + ", createDate="
				+ createDate + ", creatorId=" + creatorId + ", modifyUser=" + modifyUser + ", isEdited=" + isEdited
				+ ", isGive=" + isGive + ", isHasSaledate=" + isHasSaledate + ", isSingleProduct=" + isSingleProduct
				+ ", isSubmitAudit=" + isSubmitAudit + ", isPrice=" + isPrice + ", gradeName=" + gradeName
				+ ", specialtyName=" + specialtyName + ", productLineName=" + productLineName + ", systemName="
				+ systemName + ", commodityAreas=" + commodityAreas + ", commoditySaledepartments="
				+ commoditySaledepartments + ", commodityProducts=" + commodityProducts + ", commodityProduct="
				+ commodityProduct + ", commodityLevels=" + commodityLevels + ", commoditySpecialty="
				+ commoditySpecialty + ", commodityGrade=" + commodityGrade + ", commodityUserType=" + commodityUserType
				+ ", commodityEducational=" + commodityEducational + ", commodityRelationship=" + commodityRelationship
				+ ", commoditys=" + commoditys + ", ids=" + ids + ", saledates=" + saledates + ", saledate=" + saledate
				+ ", insertOrUpdate=" + insertOrUpdate + "]";
	}
}